Aida 6.5 Release Notes
Upgrade procedure
To upgrade your existing 6.4 Aida images, just load 6.5 over it then run this script:
AIDASite allInstances do: [:each |
each releaseApplicationState.
each router addMethodResourcesRoute.
each urlResolver removeObjectsOfClass: WebMethodResource.
each router addMethodLibrariesRoute].
MIMEMap allInstances do: [:each | each initialize].
Changes since last release
--- Aug 2012
- patch: URLResolver addObject:withUrl: longstanding bug: now it retrurns anObject argument, not itself. This bug caused images not shown imediatelly after install
- WebPage headers lazy init now
- Dictionary aidaWithAll: added to have a portable #withAll:
- BootstrapLibrary upgraded to just released Twitter Bootstrap 2.1.0
- WebPage ensureTitleInHeader patch
- TinyMCELibrary class urlToMethodMap sliced into few 100 lines methods (256 literals limit on older VWs)
- AmberLibrary urlToMethodMap also sliced
- AidaMobile package introduced in AidaAddons with TwiterMobileApp demo based on jQuery Mobile framework
- WebElement table like usage for all structural tags, like e newFooter. e footer ..., also for lists: e newList ordered. e list ...
- WebElement subelement introduced, to easier usage similar as for tables
- video, audio and canvas elements added
- WebList default type is now #unordered, non-needed methods removed
- WebPage rearangeHeaders added to finally set a correct header order before streaming, currenty in-line CSS style is put at the end of all other styles
- WebFormElement, WebModelAdaptor format instvar added to override autoconverting of values. Currently only #iso for Dates is supported
- WebFormElement min: max: added. for range input field.
- WebImage src: can be now manually set (see #prepareAttributesToPrint)
- BootstrapLibrary added, with Twitter Bootstrap CSS framework
--- Jul 2012
- MethodLibraries introduced, to handle JS libraries
- WebMethodLibrabry as superclass
- WebMethodLibImporter to help importing/updating the libraries
- AmberLibrary, JQueryLibrary, ScriptaculousLibrary, TinyMCELibrary prepared by default in Aida-Libraries
- WebRouter addMethodLibrariesRoute added
- WebStyle mosts scripts moved out to method libraries
- WebStyle calendarLangCzech added, thanks to Martin Polak
- WebPage addMetaName:content: added
- WebPage lateInitPageHeaderLinks to add WebStyle CSS and JS at the end, after all other links, so that per-site customization of CSS/JS by overriding default CSS/JS from libraries is possible
- WebElement addLabelFor:text and class WebLabel introduced
- WebElement HTML5 structural tags added (class newSection, setSection, etc.)
- WebContext nextId instvar added, to set next element id more reliably
- Object aidaWebAppFor: tries to find MobileApp first if request comes from mobile
- MIMEMap isTextType, textMimeTypes .js = application/javascript
- Autocompete and in-place editing is migrating to jQuery UI ( so far just added new WebAUtocmoplete2Field and WebInPlaceEditable2Text)
- jQuery examples added to WebDemoApp, view jQuery
- WebStyle jQuery and jQuery UI JS libs added, including ensureJQuery* methods
- Web element can now receive and respond to web request directly
- WebSession respondToElementDirectRequest added, to find an element and redirect request to it
- URL must be in /aidasession/element-id123-ctx456 format
- WebRouter additional route to method resources directly
- WebJSONPresenter presenterBlock instvar introduced, by default: self observee asJson
--- Jun 2012
- block ENTER key when in WebGrid filter fields (see #buildTableFilterRow)
- WebFormElement blockEnterKey added
- Check JSON support in browser:
- WebPage addJSONReportScriptAndHandler
- WebSession existJson, setJsonExists
- WebStyle jsEvents: aidaJsonReport() added
- WebSession isiBrowserSupported says true if exist JSON in browser
- EMailMessenger emailAddresFor: adds just plain addres and not full name
--- May 2012
- WebIndex isValidWord: allows now 3 or more characters, numbers included in search criteria
- WebIndex boldify:
- AIDASite
- federatedAuthorizator added for OAuth authorization
- redirectToOtherHost:on: sets also cookie to redirect response
- answerTo: shoudRedirect sentence moved after find session .
- patch: properArray: deals with Array too
- WebSecurityManager iniDefualtAccessRights loginGoogle added
- WebStyle Amber renamed from JTalk
- DefaultWebStyle headerUserElement Admin user has always admin rights
- String asHttpFriendly skip last point
- patch: URLResolver findHostPortOn: .. self site port- mobile phone to Address and Party
--- Mar 2012
- WebRegistrationApp now two steps only, reporting registration to transcript
- OpenID federated login and registration introduced
- load AidaCloudSSO from AidaAddons first
- AIDASite federatedAuthenticator, setFederatedAuthenticator
- WebAdminApp viewLoginGoogle, viewLogoutGoogle (just Google for now)
- WebRegistrationApp viewMainGoogle actionMainGoogle, ... (just Google for now)
- patch: WebUserGroup allUserSorted sort by nameSurname
- aidaIsRespondingStreamed renamed from isRespondingStreamed
- Object widgetsAndAppsFromStack added
- WebForm superform: check against adding itself
- WebWidget postAddAction adds subform more carefully
- MIGRATION: manually rename class AIDAModelAdaptor to AidaModelAdaptor,
- AidaMutex added to have portable protection of critical sections
- version to 6.5 in AIDASite class version
- WebUser copy, copyOtherTo:
- patch: WebLink has link too if urlReference is empty string
- URLResolver preferredUrl must start with '/' otherwise error is raised. Thanks to report by Dirk Verleysen
- patch: WebApplication isStandaloneApp checks a locally set flag for standaloniness
- WebPage redirectTo:view: added
- WebDemoApp: timestamps of widget creation added, widget refresh link, popup closing refresh those times
- EMailMessenger isSendingStarted added
- WebStyle navBarDemos: removed JS, calendar and image gallery demos
- AidaProfiling profilePingToVW added, sampleRequest with cookies
- patch: AIDASite logging optimized
--- Feb 2012
- Platform specific methods browsing added:
- Those methods have a comment like "Pharo specific"
- AIDASite class browsePlatformSpecificMethods will open a browser with those methods
- AIDASite class platformSpecificMethods return all such methods (as CompiledMethod-s)
- patch: some comments corrected, 'specific' renamed to something else so that this word is reserved for platform specifics only
- Object defaultToPrefferedUrl added
- URLResolver defaultToPreffferedUrl: added
- patch: URLResolver removeObjectsOfClass: remove their counters too
- patch: WebSecurityManager adminUser, guestUser raise error id they don't exist
- patch: WebSession releaseApplicationState inits command queue too
- patch: WebForm allFiledsIncludingSubforms - recursion bug catcher, commented out
- patch: SwazooServer class representBinaryOn: raise error to catch too-far BOSS-outs
- patch: WebIndexApp actionResultsSearch added
- WebIndex improvements:
- words in title have 100x weight
- search words bolded in results titles
- no more C web clipboard icon in results
- WebDemo asJson to return a simple JSON on http://localhost:8888/demo.json
- patch: WebIndex objectsForWord: return only published versions of versioned objects
- JSON presentation added. To present domain object as JSON, it should for now implement a method #asJson, then you can return JSON by adding '.json' to object's URL.
- WebJSONPresenter added, rougly like WebApplication
- Object aidaPresenterFor:on: renamed from asWebFor:on: (previous printWebPage...)
- Object aidaPresenterFor:on: returns JSON presenter if .json in URL
- HTTPRequest aidaPresentationType from URL can be #web #json #xml for now
- URLResolver objectOnDifferentPresentationUrl: added, for JSON etc
- URLResolver objectOnUrl deals with URLs for JSON and other presentations
- AIDASite answer:toGetOrPost:on: local var rename: 'presenter' instead 'page'
--- Jan 2012
- WebLink accessAllowedFor: if app is nil, allowed (temporary)
- DailyCollection removeAnywhere: added to remove entries with changed date
- Numberer decreaseCounter: added
- patch: WebLink accessAllowedFor: looks for app by stack climbing too
- Escalation to admin rights finished and put in place
- #hasAdminRights renamed everywhere from #inAdminGroup or #isAdmin
- WebSession login escalate to admin rights immediatelly (temporary)
- No more printWeb* methods, no more 'printing' method category for web stuff
- asWebFor:on: renamed from printWebPageFor:on:
- category 'printing' renamed to private-streaming or just moved to 'private'
- category 'printing' renamed to 'views'
- some more method category renaming
- Object few more renames
- Object changeToPreferredUrl introduced, to simplify preferred URL changing
- WebApplication refactoring and obsoletal/removal of unneeded methods, also category security renamed to private-security
- more renaming for method intention be more clear (also Html instead HTML)
- streamHtmlTo:for:on: renamed from printHTMLPageOn:for:on:
- and many more streamHtml* instead of printHTML*...
- NOTE: Rename methods below in your apps!
- Object preferredUrl (double r ) renamed from preferedUrl
- URLResolver consistent use of Url instead of URL (also Html) in method names, few of them:
- changeToPreferredUrl: renamed from changeToPreferedURL:
- defaultUrl:for: renamed from defaultURL:forObject:
- objectOnUrl: renamed from ooRefFromURL:
- existUrl: renamed from existURL:
- old methods above moved to private-obsolete
- Object extensions - method categories reorganized
- Manual escalation to Admin rights introduced. Even if in Administrators group, user have now admin rights until manually escalate it so.
- WebUser escalate to Admin
- DefaultWebPage headerUserElement added to show escalation links (be Admin) and shows user in red if escalated to admin
- WebLink shows grayed links without access rights
- Weblink cleanup of unneeded class methods
- WebIndexApp viewMain searches immediately and redirects to results. For ajaxified search forms and redirects.
- patch: WebElement existsScriptForEvent patch, thanks to Bob Calco
- patch: AIDASite answerTo: error reporting to Transcript switched off
Continue to older 6.4 Release notes